/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @param {number[]} nums3
 * @return {number[]}
 */
 var twoOutOfThree = function(nums1, nums2, nums3) {
  const ret = new Set()
  const nset = new Set()
  nums1 = [...new Set(nums1)]
  nums2 = [...new Set(nums2)]
  nums3 = [...new Set(nums3)]
  for(const num of nums1){
    nset.add(num)
  }
  for(const num of nums2){
    if(nset.has(num)){
      ret.add(num)    
    }
    nset.add(num)
  }
  for(const num of nums3){
    if(nset.has(num)){
      ret.add(num)    
    }
    nset.add(num)
  }
  return [...ret]
};